Slack MCP 서버
Slack
Slack MCP 서버는 Slack API를 위한 서버로, Claude가 Slack 워크스페이스와 상호 작용할 수 있게 해줍니다.
특징
- 채널 관리 및 메시지 전송 기능
- 메시지 스레드에 답장 및 반응 추가
- 채널 히스토리 조회 및 스레드 응답 가져오기
- 워크스페이스 사용자 및 프로필 정보 조회
API
도구
slack_list_channels
워크스페이스의 공개 또는 미리 정의된 채널 목록을 가져옵니다.
- 선택적 입력:
limit(숫자, 기본값: 100, 최대: 200): 반환할 최대 채널 수-
cursor(문자열): 다음 페이지를 위한 페이지네이션 커서 -
반환: ID 및 정보가 포함된 채널 목록
slack_post_message
Slack 채널에 새 메시지를 게시합니다.
- 필수 입력:
channel_id(문자열): 게시할 채널의 ID-
text(문자열): 게시할 메시지 텍스트 -
반환: 메시지 게시 확인 및 타임스탬프
slack_reply_to_thread
특정 메시지 스레드에 답장합니다.
- 필수 입력:
channel_id(문자열): 스레드가 포함된 채널thread_ts(문자열): 부모 메시지의 타임스탬프-
text(문자열): 답장 텍스트 -
반환: 답장 확인 및 타임스탬프
slack_add_reaction
메시지에 이모지 반응을 추가합니다.
- 필수 입력:
channel_id(문자열): 메시지가 포함된 채널timestamp(문자열): 반응할 메시지 타임스탬프-
reaction(문자열): 콜론 없는 이모지 이름 -
반환: 반응 확인
slack_get_channel_history
채널에서 최근 메시지를 가져옵니다.
- 필수 입력:
-
channel_id(문자열): 채널 ID -
선택적 입력:
-
limit(숫자, 기본값: 10): 검색할 메시지 수 -
반환: 내용 및 메타데이터가 포함된 메시지 목록
slack_get_thread_replies
메시지 스레드의 모든 응답을 가져옵니다.
- 필수 입력:
channel_id(문자열): 스레드가 포함된 채널-
thread_ts(문자열): 부모 메시지의 타임스탬프 -
반환: 내용 및 메타데이터가 포함된 응답 목록
slack_get_users
기본 프로필 정보가 포함된 워크스페이스 사용자 목록을 가져옵니다.
- 선택적 입력:
cursor(문자열): 다음 페이지를 위한 페이지네이션 커서-
limit(숫자, 기본값: 100, 최대: 200): 반환할 최대 사용자 수 -
반환: 기본 프로필이 포함된 사용자 목록
slack_get_user_profile
특정 사용자에 대한 상세 프로필 정보를 가져옵니다.
- 필수 입력:
-
user_id(문자열): 사용자의 ID -
반환: 상세 사용자 프로필 정보
사용 방법
설정
Slack 앱 생성:
- Slack Apps 페이지를 방문합니다.
- "Create New App"을 클릭합니다.
- "From scratch"를 선택합니다.
- 앱 이름을 지정하고 워크스페이스를 선택합니다.
봇 토큰 범위 구성:
"OAuth & Permissions"로 이동하여 다음 범위를 추가합니다:
- channels:history - 공개 채널의 메시지 및 기타 콘텐츠 보기
- channels:read - 기본 채널 정보 보기
- chat:write - 앱으로 메시지 보내기
- reactions:write - 메시지에 이모지 반응 추가
- users:read - 사용자 및 기본 정보 보기
- users.profile:read - 사용자에 대한 자세한 프로필 보기
워크스페이스에 앱 설치:
- "Install to Workspace"를 클릭하고 앱을 승인합니다.
xoxb-로 시작하는 "Bot User OAuth Token"을 저장합니다.- 이 가이드를 따라
T로 시작하는 팀 ID를 가져옵니다.
Claude Desktop에서 사용
claude_desktop_config.json에 다음을 추가하세요:
NPX
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567",
"SLACK_CHANNEL_IDS": "C01234567, C76543210"
}
}
}
}
Docker
{
"mcpServers": {
"slack": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "SLACK_BOT_TOKEN", "-e", "SLACK_TEAM_ID", "-e", "SLACK_CHANNEL_IDS", "mcp/slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_TEAM_ID": "T01234567",
"SLACK_CHANNEL_IDS": "C01234567, C76543210"
}
}
}
}
VS Code에서 사용
VS Code User Settings(JSON) 파일에 다음 JSON 블록을 추가하세요. Ctrl + Shift + P를 누르고 Preferences: Open Settings (JSON)를 입력하여 이 작업을 수행할 수 있습니다.
선택적으로 작업 공간의 .vscode/mcp.json 파일에 추가할 수 있습니다. 이렇게 하면 다른 사람과 구성을 공유할 수 있습니다.
.vscode/mcp.json 파일에서는 mcp 키가 필요하지 않습니다.
NPX
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "slack_bot_token",
"description": "Slack Bot Token (starts with xoxb-)",
"password": true
},
{
"type": "promptString",
"id": "slack_team_id",
"description": "Slack Team ID (starts with T)"
}
],
"servers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "${input:slack_bot_token}",
"SLACK_TEAM_ID": "${input:slack_team_id}"
}
}
}
}
}
Docker
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "slack_bot_token",
"description": "Slack Bot Token (starts with xoxb-)",
"password": true
},
{
"type": "promptString",
"id": "slack_team_id",
"description": "Slack Team ID (starts with T)"
}
],
"servers": {
"slack": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/slack"],
"env": {
"SLACK_BOT_TOKEN": "${input:slack_bot_token}",
"SLACK_TEAM_ID": "${input:slack_team_id}"
}
}
}
}
}
환경 변수
SLACK_BOT_TOKEN: 필수.xoxb-로 시작하는 Bot User OAuth Token입니다.SLACK_TEAM_ID: 필수.T로 시작하는 Slack 워크스페이스 ID입니다.SLACK_CHANNEL_IDS: 선택 사항. 채널 액세스를 제한하기 위한 채널 ID의 쉼표로 구분된 목록(예: "C01234567, C76543210")입니다. 설정하지 않으면 모든 공개 채널이 나열됩니다.
문제 해결
권한 오류가 발생하면 다음을 확인하세요: - 필요한 모든 범위가 Slack 앱에 추가되었는지 확인 - 앱이 워크스페이스에 제대로 설치되었는지 확인 - 토큰과 워크스페이스 ID가 구성에 올바르게 복사되었는지 확인 - 앱이 액세스해야 하는 채널에 추가되었는지 확인
빌드
Docker 빌드:
docker build -t mcp/slack -f src/slack/Dockerfile .
라이선스
이 MCP 서버는 MIT 라이선스에 따라 라이선스가 부여됩니다. 이는 MIT 라이선스의 약관 및 조건에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있음을 의미합니다. 자세한 내용은 프로젝트 저장소의 LICENSE 파일을 참조하세요.